#include "LinkList.h"

LinkList::LinkList()
{

}

/*
    *@brief:
    * 约瑟夫环问题，是一个经典的循环链表问题
    * 题意是：已知 n 个人（分别用编号 1，2，3，…，n 表示）围坐在一张圆桌周围
    * 从编号为 k 的人开始顺时针报数，数到 m 的那个人出列；他的下一个人又从 1 开始
    * 还是顺时针开始报数，数到 m 的那个人又出列；依次重复下去，直到圆桌上剩余一个人。
    *@author:       liuxinyu
    *@date:         2021-06-28
    */


void testJosephusProbelm()
{
    int n = 0, k = 0, m = 0;
    list * head = nullptr;
    printf("输入圆桌上的人数:");
    scanf("%d", &n);
    LinkList *p;
    head = p->initCycleLink(n);
    printf("从第几个人开始报数(k>1且k<%d)：", n);
    scanf("%d", &k);
    printf("数到几的人出列：");
    scanf("%d", &m);
    p->findAndKillK(head, k, m);
    delete p;
}
